﻿using Furion.Extras.Admin.NET;
using Furion.Extras.Admin.NET.Service;
using System;
using System.ComponentModel.DataAnnotations;

namespace Admin.NET.Application
{
    /// <summary>
    /// Project输入参数
    /// </summary>
    public class ProjectInput : PageInputBase
    {
        /// <summary>
        /// Project ID
        /// </summary>
        public virtual Guid ProjectId { get; set; }
        
        /// <summary>
        /// Project Name
        /// </summary>
        public virtual string ProjectName { get; set; }
        
        /// <summary>
        /// Project Category
        /// </summary>
        public virtual string ProjectCategory { get; set; }
        
        /// <summary>
        /// Project Description
        /// </summary>
        public virtual string ProjectDescription { get; set; }
        
        /// <summary>
        /// Start Date
        /// </summary>
        public virtual DateTime StartDate { get; set; }
        
        /// <summary>
        /// End Date
        /// </summary>
        public virtual DateTime EndDate { get; set; }     
        
        /// <summary>
        /// Region
        /// </summary>
        public virtual string Region { get; set; }
        
        /// <summary>
        /// Currency
        /// </summary>
        public virtual string Currency { get; set; }
        
        /// <summary>
        /// Budget
        /// </summary>
        public virtual decimal Budget { get; set; }
        
        /// <summary>
        /// Status
        /// </summary>
        public virtual string Status { get; set; }
        public SysUser ProjectOwner { get; set; }
        public SysUser ProjectResp { get; set; }

    }

    public class AddProjectInput : ProjectInput
    {
    }

    public class DeleteProjectInput : BaseId
    {
    }

    public class UpdateProjectInput : ProjectInput
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }
        
    }

    public class QueryeProjectInput : BaseId
    {

    }
}
